﻿using iWare.Wms.Core;
using iWare.Wms.Core.Service;
using System.ComponentModel.DataAnnotations;

namespace iWare.Wms.Application
{    
    
    /// <summary>
    /// 托盘信息查询参数
    /// </summary>
    public class WmsContainerSearch : PageInputBase
    {
        /// <summary>
        /// 编号
        /// </summary>
        public virtual string Containercode { get; set; }
        
        /// <summary>
        /// 类型
        /// </summary>
        public virtual iWare.Wms.Core.Enum.ContainerType? Containertype { get; set; }
        
        /// <summary>
        /// 托盘状态
        /// </summary>
        public virtual iWare.Wms.Core.Enum.ContainerStatus? Containerstatus { get; set; }
        
        /// <summary>
        /// 长度
        /// </summary>
        public virtual decimal? Speclength { get; set; }
        
        /// <summary>
        /// 宽度
        /// </summary>
        public virtual decimal? Specwidth { get; set; }
        
        /// <summary>
        /// 高度
        /// </summary>
        public virtual decimal? Specheight { get; set; }
        
        /// <summary>
        /// 限长
        /// </summary>
        public virtual decimal? Limitlength { get; set; }
        
        /// <summary>
        /// 限宽
        /// </summary>
        public virtual decimal? Limitwidth { get; set; }
        
        /// <summary>
        /// 限高
        /// </summary>
        public virtual decimal? Limitheight { get; set; }
        
        /// <summary>
        /// 载重上限
        /// </summary>
        public virtual decimal? Maxweight { get; set; }
        
        /// <summary>
        /// 父托盘ID
        /// </summary>
        public virtual long? Parentcontainerid { get; set; }
        
        /// <summary>
        /// 是否空托
        /// </summary>
        public virtual iWare.Wms.Core.YesOrNot?Isemptycontainer { get; set; }
        
        /// <summary>
        /// 扩展字段1
        /// </summary>
        public virtual string Extendedfields1 { get; set; }
        
        /// <summary>
        /// 扩展字段2
        /// </summary>
        public virtual string Extendedfields2 { get; set; }
        
        /// <summary>
        /// 扩展字段3
        /// </summary>
        public virtual string Extendedfields3 { get; set; }
        
    }

    /// <summary>
    /// 托盘信息输入参数
    /// </summary>
    public class WmsContainerInput
    {
        /// <summary>
        /// 编号
        /// </summary>
        public virtual string Containercode { get; set; }
        
        /// <summary>
        /// 类型
        /// </summary>
        public virtual iWare.Wms.Core.Enum.ContainerType Containertype { get; set; }
        
        /// <summary>
        /// 托盘状态
        /// </summary>
        public virtual iWare.Wms.Core.Enum.ContainerStatus Containerstatus { get; set; }
        
        /// <summary>
        /// 长度
        /// </summary>
        public virtual decimal Speclength { get; set; }
        
        /// <summary>
        /// 宽度
        /// </summary>
        public virtual decimal Specwidth { get; set; }
        
        /// <summary>
        /// 高度
        /// </summary>
        public virtual decimal Specheight { get; set; }
        
        /// <summary>
        /// 限长
        /// </summary>
        public virtual decimal Limitlength { get; set; }
        
        /// <summary>
        /// 限宽
        /// </summary>
        public virtual decimal Limitwidth { get; set; }
        
        /// <summary>
        /// 限高
        /// </summary>
        public virtual decimal Limitheight { get; set; }
        
        /// <summary>
        /// 载重上限
        /// </summary>
        public virtual decimal Maxweight { get; set; }
        
        /// <summary>
        /// 父托盘ID
        /// </summary>
        public virtual long Parentcontainerid { get; set; }
        
        /// <summary>
        /// 是否空托
        /// </summary>
        public virtual iWare.Wms.Core.YesOrNot Isemptycontainer { get; set; }
        
        /// <summary>
        /// 扩展字段1
        /// </summary>
        public virtual string Extendedfields1 { get; set; }
        
        /// <summary>
        /// 扩展字段2
        /// </summary>
        public virtual string Extendedfields2 { get; set; }
        
        /// <summary>
        /// 扩展字段3
        /// </summary>
        public virtual string Extendedfields3 { get; set; }
        
    }

    public class AddWmsContainerInput : WmsContainerInput
    {
        /// <summary>
        /// 编号
        /// </summary>
        [Required(ErrorMessage = "编号不能为空")]
        public override string Containercode { get; set; }
        
    }

    public class DeleteWmsContainerInput : BaseId
    {
    }

    public class UpdateWmsContainerInput : WmsContainerInput
    {
        /// <summary>
        /// Id主键
        /// </summary>
        [Required(ErrorMessage = "Id主键不能为空")]
        public long Id { get; set; }
        
    }

    public class QueryeWmsContainerInput : BaseId
    {

    }
}
